// Path: src\views\scheduleSettings\execution\execution.ts

import { FormSchema, FormSetPropsType } from '@/types/declaration-files/form'
import { ElForm } from 'element-plus'

export type queryCondition = {
  model: string
  dateTime: string[]
  operatorType: number
  startTime: string
  endTime: string
  planStatus: number
}

export type rows = {
  id: string
  model: string
  content: string
  contentDetail: string
  remark: string
  planType: number
  operatorType: number
  todayCheckIn: number
  planShowVo: planShowVO
}

export type planShowVO = {
  nextTime: string
  sumCount: number
  finishCount: number
  unfinishCount: number
  timeList: []
}

export type cycleRows = {
  scheduleId: string
  choseIntervals: number
  planStartTime: Date
  planFinishTime: Date
  planRules: number
  ruleValues: any
  chosenWeeks: any[]
  choseDates: any[]
}

export type clockDetails = {
  id: string
  scheduleId: string
  clockTime: string
  remark: string
  useageHour: number
}

export interface FormExpose {
  setValues: (data: Recordable) => void
  setProps: (props: Recordable) => void
  delSchema: (field: string) => void
  addSchema: (formSchema: FormSchema, index?: number) => void
  setSchema: (schemaProps: FormSetPropsType[]) => void
  formModel: Recordable
  getElFormRef: () => ComponentRef<typeof ElForm>
}
